// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package android.support.v13.app;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.Iterator;
// Referenced classes of package android.support.v13.app:
// FragmentCompat
public abstract class FragmentStatePagerAdapter extends PagerAdapter
{
private static final String a = "FragmentStatePagerAdapter";
private static final boolean b;
private final FragmentManager c;
private FragmentTransaction d;
private ArrayList e;
private ArrayList f;
private Fragment g;
public FragmentStatePagerAdapter(FragmentManager fragmentmanager)
{
d = null;
e = new ArrayList();
f = new ArrayList();
g = null;
c = fragmentmanager;
}
public void destroyItem(ViewGroup viewgroup, int i, Object obj)
{
Fragment fragment = (Fragment)obj;
if (d == null)
{
d = c.beginTransaction();
}
for (; e.size() <= i; e.add(null)) { }
e.set(i, c.saveFragmentInstanceState(fragment));
f.set(i, null);
d.remove(fragment);
}
public void finishUpdate(ViewGroup viewgroup)
{
if (d != null)
{
d.commitAllowingStateLoss();
d = null;
c.executePendingTransactions();
}
}
public abstract Fragment getItem(int i);
public Object instantiateItem(ViewGroup viewgroup, int i)
{
if (f.size() > i)
{
Fragment fragment1 = (Fragment)f.get(i);
if (fragment1 != null)
{
return fragment1;
}
}
if (d == null)
{
d = c.beginTransaction();
}
Fragment fragment = getItem(i);
if (e.size() > i)
{
android.app.Fragment.SavedState savedstate = (android.app.Fragment.SavedState)e.get(i);
if (savedstate != null)
{
fragment.setInitialSavedState(savedstate);
}
}
for (; f.size() <= i; f.add(null)) { }
FragmentCompat.setMenuVisibility(fragment, false);
FragmentCompat.setUserVisibleHint(fragment, false);
f.set(i, fragment);
d.add(viewgroup.getId(), fragment);
return fragment;
}
public boolean isViewFromObject(View view, Object obj)
{
return ((Fragment)obj).getView() == view;
}
public void restoreState(Parcelable parcelable, ClassLoader classloader)
{
if (parcelable != null)
{
Bundle bundle = (Bundle)parcelable;
bundle.setClassLoader(classloader);
Parcelable aparcelable[] = bundle.getParcelableArray("states");
e.clear();
f.clear();
if (aparcelable != null)
{
for (int j = 0; j < aparcelable.length; j++)
{
e.add((android.app.Fragment.SavedState)aparcelable[j]);
}
}
Iterator iterator = bundle.keySet().iterator();
do
{
if (!iterator.hasNext())
{
break;
}
String s = (String)iterator.next();
if (s.startsWith("f"))
{
int i = Integer.parseInt(s.substring(1));
Fragment fragment = c.getFragment(bundle, s);
if (fragment != null)
{
for (; f.size() <= i; f.add(null)) { }
FragmentCompat.setMenuVisibility(fragment, false);
f.set(i, fragment);
} else
{
Log.w("FragmentStatePagerAdapter", (new StringBuilder()).append("Bad fragment at key ").append(s).toString());
}
}
} while (true);
}
}
public Parcelable saveState()
{
int i = e.size();
Bundle bundle = null;
if (i > 0)
{
bundle = new Bundle();
android.app.Fragment.SavedState asavedstate[] = new android.app.Fragment.SavedState[e.size()];
e.toArray(asavedstate);
bundle.putParcelableArray("states", asavedstate);
}
int j = 0;
Bundle bundle1 = bundle;
for (; j < f.size(); j++)
{
Fragment fragment = (Fragment)f.get(j);
if (fragment == null)
{
continue;
}
if (bundle1 == null)
{
bundle1 = new Bundle();
}
String s = (new StringBuilder()).append("f").append(j).toString();
c.putFragment(bundle1, s, fragment);
}
return bundle1;
}
public void setPrimaryItem(ViewGroup viewgroup, int i, Object obj)
{
Fragment fragment = (Fragment)obj;
if (fragment != g)
{
if (g != null)
{
FragmentCompat.setMenuVisibility(g, false);
FragmentCompat.setUserVisibleHint(g, false);
}
if (fragment != null)
{
FragmentCompat.setMenuVisibility(fragment, true);
FragmentCompat.setUserVisibleHint(fragment, true);
}
g = fragment;
}
}
public void startUpdate(ViewGroup viewgroup)
{
}
}